function Order(customerId) {
	this.customerId =  customerId;
	this.dateTime = new Date();
	this.totalAmount = 0;
	this.items = [];
}


var OrderManager = (function () {

    function OrderManager() {}

    OrderManager.prototype.createOrder = function (customerId) {
        this.order = new Order(customerId);
    };

    OrderManager.prototype.addItem = function (item) {
        this.order.items.push(item);
        this.order.totalAmount = this.order.totalAmount + item.price; 
    };

    OrderManager.prototype.sendOrder = function () {
        if (this.isValid(this.order)) {
          this.applyDiscount(this.order);
          var orderSender = new OrderSender();
          orderSender.send(order);
        }
        else {
            handleError({ message: "Nieprawidłowe zamówienie!" });
        }
    };

    OrderManager.prototype.isValid = function (order) {
        return order.items.length > 0;
    };
    
    OrderManager.prototype.applyDiscount = function (order) {
        var itemsCount = order.items.length;
        var discountPercentage;
         
        if (itemsCount < 10) {
          discountPercentage = 0;
        } else {
          if (itemsCount < 20) {
            discountPercentage = 10;
          } else {
            if (itemsCount < 30) {
              discountPercentage = 30;
            } else {
              discountPercentage = 50;
            }
          }
        }
        
        order.totalAmount = order.totalAmount - order.totalAmount * discountPercentage / 100;
    };

    return OrderManager;
}());



function handleResponse(response) {
    console.log(JSON.stringify(response));
}

function handleError(error) {
    console.log(error.message);
}
